#ifndef __TIM_CONFIG_H
#define __TIM_CONFIG_H

/* C++兼容性支持 ------------------------------------------------------------*/
#ifdef __cplusplus
 extern "C" {  // 确保C++编译器按C风格处理函数命名
#endif

/* 包含头文件 ----------------------------------------------------------------*/
#include "stm32f10x.h"      // STM32F10x系列标准外设库头文件
                            // 提供TIM、NVIC等寄存器的定义

/* 宏定义 --------------------------------------------------------------------*/
/* 注：当前文件未定义宏，保留此区域供后续扩展使用 */

/* 全局变量声明 --------------------------------------------------------------*/
extern volatile u16 ms_HcSR04_Count;  
// 作用：累计TIM4定时器的溢出次数（单位：毫秒）
// 存储位置：在Timer_Config.c中定义
// volatile修饰原因：
// 1. 在中断服务程序(TIM4_IRQHandler)中被修改
// 2. 在主程序中被读取
// 3. 防止编译器优化导致数据不一致

/* 函数声明 ------------------------------------------------------------------*/
/**
  * @brief  TIM4定时器初始化函数
  * @param  Freq: 定时器中断频率（单位：Hz）
  * @retval 无
  * @配置说明：
  *         - 时钟源：APB1 72MHz
  *         - 预分频：71（实际分频系数72）
  *         - 计数模式：向上计数
  * @典型调用：
  *         TIM4_Config(1000) → 配置1ms周期中断
  */
void TIM4_Config(u32 Freq);

/**
  * @brief  TIM4中断服务函数
  * @note   此函数由系统自动调用，用户不应直接调用
  * @功能说明：
  *         1. 处理定时器更新中断
  *         2. 递增ms_HcSR04_Count计数器
  * @硬件操作：
  *         - 清除TIM4_SR寄存器中的更新中断标志
  */
void TIM4_IRQHandler(void);

/* C++兼容性支持 ------------------------------------------------------------*/
#ifdef __cplusplus
}
#endif

#endif /* __TIM_CONFIG_H */

/************************ (C) COPYRIGHT Timer_Config.h *********************/
